package gov.pbc.nn.kjgl.task.entity;

import gov.pbc.nn.core.entity.BaseEntity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import com.bstek.dorado.annotation.PropertyDef;

/**
 * 任务管理业务中的任务实体
 * 
 * @author Administrator
 * 
 */
@Entity
@Table(name = "T_TASK_ENTTIY")
public class TaskEntity extends BaseEntity {

	private static final long serialVersionUID = -7157848560756067290L;

	@Column(name = "NAME_", length = 200)
	@PropertyDef(label = "任务名称")
	private String name;

	@Column(name = "START_DATE_")
	@PropertyDef(label = "发起时间")
	private Date startDate;

	@Column(name = "OVER_DATE_")
	@PropertyDef(label = "办结时间")
	private Date overDate;

	@Column(name = "REMARK_", length = 520)
	@PropertyDef(label = "备注")
	private String remark;

	@Column(name = "SHOULD_CZ_")
	@PropertyDef(label = "需要处领导审核")
	private boolean shouldCz;

	@Column(name = "NEED_BRANCH_")
	@PropertyDef(label = "需要分办", description = "和直接指定任务处理人互斥")
	private boolean needBranch;

	@Column(name = "COLLECT_OPINION_")
	@PropertyDef(label = "需要收集意见", description = "只有需要分别的时候，该字段才有意义")
	private boolean collectOpinion;

	@Column(name = "DRIECT_PROCESSOR_")
	@PropertyDef(label = "直接指定任务处理人", description = "和是否需要分办互斥，同时如果为true，则需要处领导审核为false")
	private boolean driectProcessor;

	@Column(name = "DEPT_ID_", length = 60)
	private String deptId;
	@Column(name = "DEPT_NAME_", length = 200)
	@PropertyDef(label = "申请部门")
	private String deptName;

	@Column(name = "TASK_TYPE", length = 128)
	@PropertyDef(label = "任务类型", description = "NN代表南宁任务管理，ZZ代表地市任务管理")
	private String taskType;

	@Column(name = "STATE_")
	@PropertyDef(label = "状态", description = "0:初始；10：审核处理中；20：撤销；30：完成")
	private int state;

	@Column(name = "SOURCE_URL_")
	@PropertyDef(label = "来源业务URL")
	private String sourceUrl;
	@Column(name = "SOURCE_TABLE_")
	@PropertyDef(label = "来源业务表")
	private String sourceTable;
	@Column(name = "SOURCE_KEY_")
	@PropertyDef(label = "来源业务表主键值")
	private String sourceKey;
	@Column(name = "SOURCE_DESC_")
	@PropertyDef(label = "来源业务描述")
	private String sourceDesc;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	public Date getOverDate() {
		return overDate;
	}

	public void setOverDate(Date overDate) {
		this.overDate = overDate;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public boolean getShouldCz() {
		return shouldCz;
	}

	public void setShouldCz(boolean shouldCz) {
		this.shouldCz = shouldCz;
	}

	public boolean getNeedBranch() {
		return needBranch;
	}

	public void setNeedBranch(boolean needBranch) {
		this.needBranch = needBranch;
	}

	public boolean getCollectOpinion() {
		return collectOpinion;
	}

	public void setCollectOpinion(boolean collectOpinion) {
		this.collectOpinion = collectOpinion;
	}

	public boolean getDriectProcessor() {
		return driectProcessor;
	}

	public void setDriectProcessor(boolean driectProcessor) {
		this.driectProcessor = driectProcessor;
	}

	public String getTaskType() {
		return taskType;
	}

	public void setTaskType(String taskType) {
		this.taskType = taskType;
	}

	public String getSourceUrl() {
		return sourceUrl;
	}

	public void setSourceUrl(String sourceUrl) {
		this.sourceUrl = sourceUrl;
	}

	public String getSourceTable() {
		return sourceTable;
	}

	public void setSourceTable(String sourceTable) {
		this.sourceTable = sourceTable;
	}

	public String getSourceKey() {
		return sourceKey;
	}

	public void setSourceKey(String sourceKey) {
		this.sourceKey = sourceKey;
	}

	public String getSourceDesc() {
		return sourceDesc;
	}

	public void setSourceDesc(String sourceDesc) {
		this.sourceDesc = sourceDesc;
	}

	public int getState() {
		return state;
	}

	public void setState(int state) {
		this.state = state;
	}

	public String getDeptId() {
		return deptId;
	}

	public void setDeptId(String deptId) {
		this.deptId = deptId;
	}

	public String getDeptName() {
		return deptName;
	}

	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}

	
}
